package com.neouton.crm.executiceManager.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.neouton.common.entity.BaseEntityVO;
import com.neouton.crm.approval.entity.ApprovalVO;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.managerPayPlan.entity.ManagerPayPlan;
import com.neouton.crm.managerPayRecord.entity.ManagerPayRecord;
import com.neouton.crm.managerPayRequest.entity.ManagerPayRequest;
import com.neouton.crm.managerReceiptRecord.entity.ManagerReceiptRecord;
import com.neouton.crm.payRecords.entity.PaymentRecords;
import com.neouton.crm.payRecords.entity.PaymentRequest;
import com.neouton.crm.paymentPlan.entity.PaymentPlan;
import com.neouton.crm.receiptRecords.entity.ReceiptRecords;
import com.neouton.crm.sales.entity.SalesFileRelationVO;
import com.neouton.crm.supplier.entity.SupplierVO;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 采购相关Vo
 * @Author libingkun
 * @Date 2022年11月30日
 * @Version 1.0
 *          初始化迁移
 */
@Data
public class ManagerPurchaseOrderVO extends BaseEntityVO {
    /**
     * 主键ID
     */
    private Integer purchaseId;

    /**
     * 审批主键
     */
    private Integer approvalId;

    /**
     * 审批对应实体
     */
    private ApprovalVO approval;

    /**
     * 供应商实体
     */
    private SupplierVO supplier;

    /**
     * 供应商主键
     */
    private Integer supplierId;

    /**
     * 采购名称
     */
    private String purchaseTopic;

    /**
     * 采购单号
     */
    private String purchaseNo;

    /**
     * 采购分类
     */
    private Integer purchaseType;

    private String purchaseTypeStr;

    /**
     * 供应商联系人
     */
    private String supplierUser;

    /**
     * 我方负责人
     */
    private SysUserEntity purchaseUser;

    /**
     * 计划期次
     */
    private Integer paymentPlanPeriod;

    private String paymentPlanPeriodStr;

    /**
     * 采购日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date purchaseDate;

    /**
     * 退款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date refundDate;

    private String purchaseDateStr;

    private List <ManagerPayPlan> paymentPlans;

    private List<ManagerReceiptRecord> receiptRecords;

    private List<ManagerPayRecord> paymentRecords;

    private List<ManagerPayRequest> paymentRequests;
    /**
     * 采购单产品列表
     */
    List<ManagerPurchaseOrderProductVO> purchaseOrderProducts;

    /**
     * 附件
     */
    private List<SalesFileRelationVO> salesFileRelations;

    /**
     * 排序字段
     */
    private String orderByProp;

    /**
     * 排序类型
     */
    private String order;

    /**
     * 采购总价
     */
    private String totlePrice;

    /**
     * 采购总价
     */
    private List<String> totlePrices;


    private String totlePricePage;

    /**
     * 我方代表ID
     */
    private Integer ownerUserId;

    /**
     * 日期集合
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private List<Date> purchaseDateList;

    /**
     * 审批状态
     */
    private String approvalStatus;

    private String approvalStr;

    /**
     * 申请原因
     */
    private String askReason;

    /**
     * 审批意见
     */
    private String appReason;

    /**
     * 采购总金额
     */
    private BigDecimal amount;

    /**
     * 付款总金额
     */
    private BigDecimal paymentMoneys;

    private String paymentMoneyPage;

    /**
     * 收票金额
     */
    private BigDecimal tickerMoneys;

    /**
     * 退款金额
     */
    private BigDecimal refundMoney;

    private String tickerMoneyPage;


    /**
     * 退款金额
     */
    private String refundMoneyPage;

    private Integer headerId;
    /**
     * 转发人集合
     */
    private List<SysUserEntity> forwardUsers;
}
